#ifndef FRAS_H
#define FRAS_H

#include <QMainWindow>
#include <opencv.hpp>
#include <QTcpSocket>
#include <QTimer>

QT_BEGIN_NAMESPACE
namespace Ui {
class FrasClient;
}
QT_END_NAMESPACE

class FrasClient : public QMainWindow {
    Q_OBJECT

public:
    FrasClient(QWidget *parent = nullptr);
    ~FrasClient();
    void timerEvent(QTimerEvent *e);  // 定时器事件，用于实时显示摄像头

private slots:
    void recvFromServer();            // 从服务器接受数据的槽函数

private:
    Ui::FrasClient *ui;
    cv::VideoCapture cap_;             // 摄像头
    cv::CascadeClassifier cascade_;    // haar--级联分类器，用于人脸检测
    QTcpSocket socket_;                // 网络套接字
    QTimer conn_timer_;                // 用于自动连接服务器的定时器
    int flag_;                         // 用于优化人脸数据发送到服务端的次数的标记（防止多次发送识别区域的同一人脸）
};
#endif // FRAS_H
